iT邦幫忙

2022 iThome 鐵人賽

DAY 7
1

正所謂萬事起頭難,新手惡夢第一關就是從0到1如何安全上壘,
當我們燃起雄心壯志,大喊資料庫我要創10個! 我是自由的!
卻被官方網站語法嚇得魂不守舍,哭阿! 上個壘難道這麼難嗎?

我的建議是先不要看官網 (謎之聲 : 學資料庫不要看官網? 鬼話仔!
我知道這也許會有點爭議,不過我要特別強調這個建議是指
從0到1這個階段,這是因為官網會是以文件型的方式條列內容,
既然是文件就必須把使用者”可能用的到”的資訊通通都給寫進去,
問題就出在這個"可能用的到",怎麼說呢?

打個比喻,當你是第一天玩棒球,還在思考棒子怎麼握的階段,
一開始就遇到老投手,丟給你"可能是好球的壞球",
沒經驗的你,根本無法消化這個局面,只能被電到懷疑人生,
然後放棄下一次體驗棒球的機會。

這或許也是為什麼彷間會有許多 Tutorial 的原因哩,先透過主題簡單化,
等到具備一定的理解或經驗之後,官網就轉變成最強悍的寶典!

有的時候只是在不對的時間,遇上對的官網。

Key Words & Identifiers 定義

  • Key Words : 用來執行特定操作的固定的命令語句,例如用來創建資料庫的指令 CREATE DATABASE,這個指令由DBMS所定義。
  • Identifiers : 泛指資料庫中某個需要被識別的內容,例如屬於某個專屬資料庫的名稱,這個名稱由資料庫管理者或有權限操作資料庫的程式開發者所定義。

上述是SQL指令的定義,實際走個例子會更容易理解一些,我們要建立一個資料庫,這個資料庫要給它名稱,由你決定叫它 ithome、seafood、hinnamnor 都可以。

// 建立一個資料庫,名稱要叫做ithome。
CREATE DATABASE ithome;

大小寫與限制

  • Key Words
    • 全大寫
  • Identifiers
    • 全小寫
    • 底線區隔單字
    • 以上兩點加起來就是蛇式命名法(snake_case)
    • 可以使用雙引號("")避免命名衝突

在資料庫世界中,Identifiers 其實系統大小寫都可以接受,
但是工程師們約定成俗只使用全小寫來命名,使其更容易辨別,
另外若資料庫名稱需要組合不同單字則是可以使用底線來區隔。

// 大小寫區分
CREATE DATABASE ithome;

// 底線區分
CREATE DATABASE ithome_db;

想創建 create 這個名稱的資料庫,但是這與系統 Key Words 產生衝突,
預設會產生錯誤訊息,可以使用雙引號("")來明確告訴資料庫,要命名這個名稱,
但是強烈不建議使用這種方式來混亂自己!
另外網路上可能會很常看到使用反引號(``)的範例,這邊注意,
反引號是只能特定於MySQL所使用,PostgreSQL並沒有辦法使用。

-- 雙引號 (PostgreSQL)
CREATE DATABASE "create";

-- 反引號 (MySQL)
CREATE DATABASE `create`; 

通常資料庫名稱以系統功能進行命名,例如產出管理系統(production_db)、設備維護系統(equipment_db)、產品監控系統(product_db)。

VSCode執行

  1. 創立檔案
  2. 輸入SQL
  3. 按下Run on active connection
  4. 返回資料庫連線頁面
  5. 切換Database名稱到新建立的資料庫ithome

https://ithelp.ithome.com.tw/upload/images/20220907/20129430aoowgfqkag.png


上一篇
Day 06 安裝資料庫與編輯器
下一篇
Day 08 建立資料表
系列文
資料庫新手入門--以PostgreSQL為例30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言